package org.bt.common.constant;

import org.springframework.http.HttpHeaders;

/**
 * @author zwj
 */
public interface CommonConstant {
    interface Http_Header {
        String SM2 = "sm2";
        String ACCESS_TOKEN = "Access-Token";
    }

    interface Token {
        String TOKEN_PARAM_KEY = "token";
        String TOKEN_HEADER_KEY = HttpHeaders.AUTHORIZATION;
        String PREFIX_USER_TOKEN = "ft-auth:prefix_user_token_";
    }

    interface ApiVersion {
        String PARAMTYPE_HEADER = "header";
        String API_VERSION_DESC = "api版本号";
        String API_VERSION = "apiVersion";
        String V1 = "v1";
        String VERSION_V1 = API_VERSION + "=" + V1;
        String V1_1 = "v1.1";
        String VERSION_V1_1 = API_VERSION + "=" + V1_1;
        String V1_2 = "v1.2";
        String VERSION_V1_2 = API_VERSION + "=" + V1_2;
        String V1_3 = "v1.3";
        String VERSION_V1_3 = API_VERSION + "=" + V1_3;
        String V2 = "v2";
        String VERSION_V2 = API_VERSION + "=" + V2;
        String V3 = "v3";
        String VERSION_V3 = API_VERSION + "=" + V3;
        String V4 = "v4";
        String VERSION_V4 = API_VERSION + "=" + V4;
        String V5 = "v5";
        String VERSION_V5 = API_VERSION + "=" + V5;
        String V6 = "v6";
        String VERSION_V6 = API_VERSION + "=" + V6;
        String V7 = "v7";
        String VERSION_V7 = API_VERSION + "=" + V7;
        String V8 = "v8";
        String VERSION_V8 = API_VERSION + "=" + V8;
        String V9 = "v9";
        String VERSION_V9 = API_VERSION + "=" + V9;
        String V10 = "v10";
        String VERSION_V10 = API_VERSION + "=" + V10;
        String V11 = "v11";
        String VERSION_V11 = API_VERSION + "=" + V11;
        String V12 = "v12";
        String VERSION_V12 = API_VERSION + "=" + V12;
        String V13 = "v13";
        String VERSION_V13 = API_VERSION + "=" + V13;
        String V14 = "v14";
        String VERSION_V14 = API_VERSION + "=" + V14;
        String V15 = "v15";
        String VERSION_V15 = API_VERSION + "=" + V15;
        String V16 = "v16";
        String VERSION_V16 = API_VERSION + "=" + V16;
        String V17 = "v17";
        String VERSION_V17 = API_VERSION + "=" + V17;
        String V18 = "v18";
        String VERSION_V18 = API_VERSION + "=" + V18;
        String V19 = "v19";
        String VERSION_V19 = API_VERSION + "=" + V19;
        String V20 = "v20";
        String VERSION_V20 = API_VERSION + "=" + V20;
    }

    interface Valid {
        String MAX = "{ERR_VALID_MAX}";
        String MIN = "{ERR_VALID_MIN}";
        String NOT_BLANK = "{ERR_VALID_NOT_BLANK}";
        String DECIMAL_MAX = "{ERR_VALID_DECIMAL_MAX}";
        String DECIMAL_MIN = "{ERR_VALID_DECIMAL_MIN}";
        String DIGITS = "{ERR_VALID_DIGITS}";
        String EMAIL = "{ERR_VALID_EMAIL}";
        String FIXED_VALUE = "{ERR_VALID_FIXED_VALUE}";
        String MOBILE = "{ERR_VALID_MOBILE}";
        String NEGATIVE = "{ERR_VALID_NEGATIVE}";
        String NEGATIVE_OR_ZERO = "{ERR_VALID_NEGATIVE_OR_ZERO}";
        String NOT_EMPTY = "{ERR_VALID_NOT_EMPTY}";
        String NOT_NULL = "{ERR_VALID_NOT_NULL}";
        String NULL = "{ERR_VALID_NULL}";
        String PATTERN = "{ERR_VALID_PATTERN}";
        String POSITIVE = "{ERR_VALID_POSITIVE}";
        String POSITIVE_OR_ZERO = "{ERR_VALID_POSITIVE_OR_ZERO}";
        String SIZE = "{ERR_VALID_SIZE}";
        String LENGTH = "{ERR_VALID_LENGTH}";
        String DATE_TIME = "{ERR_VALID_DATE_TIME}";
        String PARTNER_USER_CODE = "{ERR_PARTNER_USER_CODE}";
    }

    interface Sign {
        String COMMA = ",";
        String SLASH = "/";
        String CROSSBAR = "-";
        String POINT = ".";
        String AND = "&";
        String EQUAL = "=";
    }

    interface DateTimeFormat {
        String YMD = "yyyy-MM-dd";
        String YMD_HMS = "yyyy-MM-dd HH:mm:ss";
    }

    interface RedisKey {
        String SERVER_PRI_KEY = "SERVER:JWT:PRI";

        String SERVER_PUB_KEY = "SERVER:JWT:PUB";
    }
}
